/*
 * XML Type:  ObjectRelationType
 * Namespace: http://www.data-archive.ac.uk/dext/schema/draft
 * Java type: uk.da.dext.ObjectRelationType
 *
 * Automatically generated - do not modify.
 */
package uk.da.dext.impl;
/**
 * An XML ObjectRelationType(@http://www.data-archive.ac.uk/dext/schema/draft).
 *
 * This is a complex type.
 */
public class ObjectRelationTypeImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements uk.da.dext.ObjectRelationType
{
    private static final long serialVersionUID = 1L;
    
    public ObjectRelationTypeImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName ID$0 = 
        new javax.xml.namespace.QName("", "id");
    private static final javax.xml.namespace.QName OBJECTTYPE$2 = 
        new javax.xml.namespace.QName("", "objectType");
    private static final javax.xml.namespace.QName RELATIONNAME$4 = 
        new javax.xml.namespace.QName("", "relationName");
    private static final javax.xml.namespace.QName OTHERRELATIONNAME$6 = 
        new javax.xml.namespace.QName("", "otherRelationName");
    private static final javax.xml.namespace.QName OBJECTSOURCE$8 = 
        new javax.xml.namespace.QName("", "objectSource");
    private static final javax.xml.namespace.QName OBJECTTARGET$10 = 
        new javax.xml.namespace.QName("", "objectTarget");
    private static final javax.xml.namespace.QName CDATE$12 = 
        new javax.xml.namespace.QName("", "cdate");
    private static final javax.xml.namespace.QName MDATE$14 = 
        new javax.xml.namespace.QName("", "mdate");
    private static final javax.xml.namespace.QName CREATOR$16 = 
        new javax.xml.namespace.QName("", "creator");
    private static final javax.xml.namespace.QName LABEL$18 = 
        new javax.xml.namespace.QName("", "label");
    private static final javax.xml.namespace.QName DISPLAYLABEL$20 = 
        new javax.xml.namespace.QName("", "displayLabel");
    private static final javax.xml.namespace.QName LANGUAGE$22 = 
        new javax.xml.namespace.QName("", "language");
    
    
    /**
     * Gets the "id" attribute
     */
    public java.lang.String getId()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "id" attribute
     */
    public org.apache.xmlbeans.XmlID xgetId()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlID target = null;
            target = (org.apache.xmlbeans.XmlID)get_store().find_attribute_user(ID$0);
            return target;
        }
    }
    
    /**
     * Sets the "id" attribute
     */
    public void setId(java.lang.String id)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ID$0);
            }
            target.setStringValue(id);
        }
    }
    
    /**
     * Sets (as xml) the "id" attribute
     */
    public void xsetId(org.apache.xmlbeans.XmlID id)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlID target = null;
            target = (org.apache.xmlbeans.XmlID)get_store().find_attribute_user(ID$0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlID)get_store().add_attribute_user(ID$0);
            }
            target.set(id);
        }
    }
    
    /**
     * Gets the "objectType" attribute
     */
    public uk.da.dext.ObjectRelationType.ObjectType.Enum getObjectType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OBJECTTYPE$2);
            if (target == null)
            {
                return null;
            }
            return (uk.da.dext.ObjectRelationType.ObjectType.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "objectType" attribute
     */
    public uk.da.dext.ObjectRelationType.ObjectType xgetObjectType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            uk.da.dext.ObjectRelationType.ObjectType target = null;
            target = (uk.da.dext.ObjectRelationType.ObjectType)get_store().find_attribute_user(OBJECTTYPE$2);
            return target;
        }
    }
    
    /**
     * True if has "objectType" attribute
     */
    public boolean isSetObjectType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(OBJECTTYPE$2) != null;
        }
    }
    
    /**
     * Sets the "objectType" attribute
     */
    public void setObjectType(uk.da.dext.ObjectRelationType.ObjectType.Enum objectType)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OBJECTTYPE$2);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(OBJECTTYPE$2);
            }
            target.setEnumValue(objectType);
        }
    }
    
    /**
     * Sets (as xml) the "objectType" attribute
     */
    public void xsetObjectType(uk.da.dext.ObjectRelationType.ObjectType objectType)
    {
        synchronized (monitor())
        {
            check_orphaned();
            uk.da.dext.ObjectRelationType.ObjectType target = null;
            target = (uk.da.dext.ObjectRelationType.ObjectType)get_store().find_attribute_user(OBJECTTYPE$2);
            if (target == null)
            {
                target = (uk.da.dext.ObjectRelationType.ObjectType)get_store().add_attribute_user(OBJECTTYPE$2);
            }
            target.set(objectType);
        }
    }
    
    /**
     * Unsets the "objectType" attribute
     */
    public void unsetObjectType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(OBJECTTYPE$2);
        }
    }
    
    /**
     * Gets the "relationName" attribute
     */
    public uk.da.dext.ObjectRelationType.RelationName.Enum getRelationName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(RELATIONNAME$4);
            if (target == null)
            {
                return null;
            }
            return (uk.da.dext.ObjectRelationType.RelationName.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "relationName" attribute
     */
    public uk.da.dext.ObjectRelationType.RelationName xgetRelationName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            uk.da.dext.ObjectRelationType.RelationName target = null;
            target = (uk.da.dext.ObjectRelationType.RelationName)get_store().find_attribute_user(RELATIONNAME$4);
            return target;
        }
    }
    
    /**
     * True if has "relationName" attribute
     */
    public boolean isSetRelationName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(RELATIONNAME$4) != null;
        }
    }
    
    /**
     * Sets the "relationName" attribute
     */
    public void setRelationName(uk.da.dext.ObjectRelationType.RelationName.Enum relationName)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(RELATIONNAME$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(RELATIONNAME$4);
            }
            target.setEnumValue(relationName);
        }
    }
    
    /**
     * Sets (as xml) the "relationName" attribute
     */
    public void xsetRelationName(uk.da.dext.ObjectRelationType.RelationName relationName)
    {
        synchronized (monitor())
        {
            check_orphaned();
            uk.da.dext.ObjectRelationType.RelationName target = null;
            target = (uk.da.dext.ObjectRelationType.RelationName)get_store().find_attribute_user(RELATIONNAME$4);
            if (target == null)
            {
                target = (uk.da.dext.ObjectRelationType.RelationName)get_store().add_attribute_user(RELATIONNAME$4);
            }
            target.set(relationName);
        }
    }
    
    /**
     * Unsets the "relationName" attribute
     */
    public void unsetRelationName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(RELATIONNAME$4);
        }
    }
    
    /**
     * Gets the "otherRelationName" attribute
     */
    public java.lang.String getOtherRelationName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OTHERRELATIONNAME$6);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "otherRelationName" attribute
     */
    public org.apache.xmlbeans.XmlString xgetOtherRelationName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(OTHERRELATIONNAME$6);
            return target;
        }
    }
    
    /**
     * True if has "otherRelationName" attribute
     */
    public boolean isSetOtherRelationName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(OTHERRELATIONNAME$6) != null;
        }
    }
    
    /**
     * Sets the "otherRelationName" attribute
     */
    public void setOtherRelationName(java.lang.String otherRelationName)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OTHERRELATIONNAME$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(OTHERRELATIONNAME$6);
            }
            target.setStringValue(otherRelationName);
        }
    }
    
    /**
     * Sets (as xml) the "otherRelationName" attribute
     */
    public void xsetOtherRelationName(org.apache.xmlbeans.XmlString otherRelationName)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(OTHERRELATIONNAME$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(OTHERRELATIONNAME$6);
            }
            target.set(otherRelationName);
        }
    }
    
    /**
     * Unsets the "otherRelationName" attribute
     */
    public void unsetOtherRelationName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(OTHERRELATIONNAME$6);
        }
    }
    
    /**
     * Gets the "objectSource" attribute
     */
    public java.lang.String getObjectSource()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OBJECTSOURCE$8);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "objectSource" attribute
     */
    public org.apache.xmlbeans.XmlIDREF xgetObjectSource()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREF target = null;
            target = (org.apache.xmlbeans.XmlIDREF)get_store().find_attribute_user(OBJECTSOURCE$8);
            return target;
        }
    }
    
    /**
     * True if has "objectSource" attribute
     */
    public boolean isSetObjectSource()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(OBJECTSOURCE$8) != null;
        }
    }
    
    /**
     * Sets the "objectSource" attribute
     */
    public void setObjectSource(java.lang.String objectSource)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OBJECTSOURCE$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(OBJECTSOURCE$8);
            }
            target.setStringValue(objectSource);
        }
    }
    
    /**
     * Sets (as xml) the "objectSource" attribute
     */
    public void xsetObjectSource(org.apache.xmlbeans.XmlIDREF objectSource)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREF target = null;
            target = (org.apache.xmlbeans.XmlIDREF)get_store().find_attribute_user(OBJECTSOURCE$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlIDREF)get_store().add_attribute_user(OBJECTSOURCE$8);
            }
            target.set(objectSource);
        }
    }
    
    /**
     * Unsets the "objectSource" attribute
     */
    public void unsetObjectSource()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(OBJECTSOURCE$8);
        }
    }
    
    /**
     * Gets the "objectTarget" attribute
     */
    public java.lang.String getObjectTarget()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OBJECTTARGET$10);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "objectTarget" attribute
     */
    public org.apache.xmlbeans.XmlIDREF xgetObjectTarget()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREF target = null;
            target = (org.apache.xmlbeans.XmlIDREF)get_store().find_attribute_user(OBJECTTARGET$10);
            return target;
        }
    }
    
    /**
     * True if has "objectTarget" attribute
     */
    public boolean isSetObjectTarget()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(OBJECTTARGET$10) != null;
        }
    }
    
    /**
     * Sets the "objectTarget" attribute
     */
    public void setObjectTarget(java.lang.String objectTarget)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OBJECTTARGET$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(OBJECTTARGET$10);
            }
            target.setStringValue(objectTarget);
        }
    }
    
    /**
     * Sets (as xml) the "objectTarget" attribute
     */
    public void xsetObjectTarget(org.apache.xmlbeans.XmlIDREF objectTarget)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREF target = null;
            target = (org.apache.xmlbeans.XmlIDREF)get_store().find_attribute_user(OBJECTTARGET$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlIDREF)get_store().add_attribute_user(OBJECTTARGET$10);
            }
            target.set(objectTarget);
        }
    }
    
    /**
     * Unsets the "objectTarget" attribute
     */
    public void unsetObjectTarget()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(OBJECTTARGET$10);
        }
    }
    
    /**
     * Gets the "cdate" attribute
     */
    public java.util.Calendar getCdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CDATE$12);
            if (target == null)
            {
                return null;
            }
            return target.getCalendarValue();
        }
    }
    
    /**
     * Gets (as xml) the "cdate" attribute
     */
    public org.apache.xmlbeans.XmlDateTime xgetCdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlDateTime target = null;
            target = (org.apache.xmlbeans.XmlDateTime)get_store().find_attribute_user(CDATE$12);
            return target;
        }
    }
    
    /**
     * True if has "cdate" attribute
     */
    public boolean isSetCdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(CDATE$12) != null;
        }
    }
    
    /**
     * Sets the "cdate" attribute
     */
    public void setCdate(java.util.Calendar cdate)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CDATE$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(CDATE$12);
            }
            target.setCalendarValue(cdate);
        }
    }
    
    /**
     * Sets (as xml) the "cdate" attribute
     */
    public void xsetCdate(org.apache.xmlbeans.XmlDateTime cdate)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlDateTime target = null;
            target = (org.apache.xmlbeans.XmlDateTime)get_store().find_attribute_user(CDATE$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlDateTime)get_store().add_attribute_user(CDATE$12);
            }
            target.set(cdate);
        }
    }
    
    /**
     * Unsets the "cdate" attribute
     */
    public void unsetCdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(CDATE$12);
        }
    }
    
    /**
     * Gets the "mdate" attribute
     */
    public java.util.Calendar getMdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(MDATE$14);
            if (target == null)
            {
                return null;
            }
            return target.getCalendarValue();
        }
    }
    
    /**
     * Gets (as xml) the "mdate" attribute
     */
    public org.apache.xmlbeans.XmlDateTime xgetMdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlDateTime target = null;
            target = (org.apache.xmlbeans.XmlDateTime)get_store().find_attribute_user(MDATE$14);
            return target;
        }
    }
    
    /**
     * True if has "mdate" attribute
     */
    public boolean isSetMdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(MDATE$14) != null;
        }
    }
    
    /**
     * Sets the "mdate" attribute
     */
    public void setMdate(java.util.Calendar mdate)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(MDATE$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(MDATE$14);
            }
            target.setCalendarValue(mdate);
        }
    }
    
    /**
     * Sets (as xml) the "mdate" attribute
     */
    public void xsetMdate(org.apache.xmlbeans.XmlDateTime mdate)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlDateTime target = null;
            target = (org.apache.xmlbeans.XmlDateTime)get_store().find_attribute_user(MDATE$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlDateTime)get_store().add_attribute_user(MDATE$14);
            }
            target.set(mdate);
        }
    }
    
    /**
     * Unsets the "mdate" attribute
     */
    public void unsetMdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(MDATE$14);
        }
    }
    
    /**
     * Gets the "creator" attribute
     */
    public java.lang.String getCreator()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CREATOR$16);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "creator" attribute
     */
    public org.apache.xmlbeans.XmlString xgetCreator()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CREATOR$16);
            return target;
        }
    }
    
    /**
     * True if has "creator" attribute
     */
    public boolean isSetCreator()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(CREATOR$16) != null;
        }
    }
    
    /**
     * Sets the "creator" attribute
     */
    public void setCreator(java.lang.String creator)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CREATOR$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(CREATOR$16);
            }
            target.setStringValue(creator);
        }
    }
    
    /**
     * Sets (as xml) the "creator" attribute
     */
    public void xsetCreator(org.apache.xmlbeans.XmlString creator)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CREATOR$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(CREATOR$16);
            }
            target.set(creator);
        }
    }
    
    /**
     * Unsets the "creator" attribute
     */
    public void unsetCreator()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(CREATOR$16);
        }
    }
    
    /**
     * Gets the "label" attribute
     */
    public java.lang.String getLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LABEL$18);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "label" attribute
     */
    public org.apache.xmlbeans.XmlString xgetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(LABEL$18);
            return target;
        }
    }
    
    /**
     * True if has "label" attribute
     */
    public boolean isSetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(LABEL$18) != null;
        }
    }
    
    /**
     * Sets the "label" attribute
     */
    public void setLabel(java.lang.String label)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LABEL$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(LABEL$18);
            }
            target.setStringValue(label);
        }
    }
    
    /**
     * Sets (as xml) the "label" attribute
     */
    public void xsetLabel(org.apache.xmlbeans.XmlString label)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(LABEL$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(LABEL$18);
            }
            target.set(label);
        }
    }
    
    /**
     * Unsets the "label" attribute
     */
    public void unsetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(LABEL$18);
        }
    }
    
    /**
     * Gets the "displayLabel" attribute
     */
    public java.lang.String getDisplayLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DISPLAYLABEL$20);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "displayLabel" attribute
     */
    public org.apache.xmlbeans.XmlString xgetDisplayLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(DISPLAYLABEL$20);
            return target;
        }
    }
    
    /**
     * True if has "displayLabel" attribute
     */
    public boolean isSetDisplayLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(DISPLAYLABEL$20) != null;
        }
    }
    
    /**
     * Sets the "displayLabel" attribute
     */
    public void setDisplayLabel(java.lang.String displayLabel)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DISPLAYLABEL$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(DISPLAYLABEL$20);
            }
            target.setStringValue(displayLabel);
        }
    }
    
    /**
     * Sets (as xml) the "displayLabel" attribute
     */
    public void xsetDisplayLabel(org.apache.xmlbeans.XmlString displayLabel)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(DISPLAYLABEL$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(DISPLAYLABEL$20);
            }
            target.set(displayLabel);
        }
    }
    
    /**
     * Unsets the "displayLabel" attribute
     */
    public void unsetDisplayLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(DISPLAYLABEL$20);
        }
    }
    
    /**
     * Gets the "language" attribute
     */
    public java.lang.String getLanguage()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LANGUAGE$22);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "language" attribute
     */
    public org.apache.xmlbeans.XmlLanguage xgetLanguage()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlLanguage target = null;
            target = (org.apache.xmlbeans.XmlLanguage)get_store().find_attribute_user(LANGUAGE$22);
            return target;
        }
    }
    
    /**
     * True if has "language" attribute
     */
    public boolean isSetLanguage()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(LANGUAGE$22) != null;
        }
    }
    
    /**
     * Sets the "language" attribute
     */
    public void setLanguage(java.lang.String language)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LANGUAGE$22);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(LANGUAGE$22);
            }
            target.setStringValue(language);
        }
    }
    
    /**
     * Sets (as xml) the "language" attribute
     */
    public void xsetLanguage(org.apache.xmlbeans.XmlLanguage language)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlLanguage target = null;
            target = (org.apache.xmlbeans.XmlLanguage)get_store().find_attribute_user(LANGUAGE$22);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlLanguage)get_store().add_attribute_user(LANGUAGE$22);
            }
            target.set(language);
        }
    }
    
    /**
     * Unsets the "language" attribute
     */
    public void unsetLanguage()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(LANGUAGE$22);
        }
    }
    /**
     * An XML objectType(@).
     *
     * This is an atomic type that is a restriction of uk.da.dext.ObjectRelationType$ObjectType.
     */
    public static class ObjectTypeImpl extends org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx implements uk.da.dext.ObjectRelationType.ObjectType
    {
        private static final long serialVersionUID = 1L;
        
        public ObjectTypeImpl(org.apache.xmlbeans.SchemaType sType)
        {
            super(sType, false);
        }
        
        protected ObjectTypeImpl(org.apache.xmlbeans.SchemaType sType, boolean b)
        {
            super(sType, b);
        }
    }
    /**
     * An XML relationName(@).
     *
     * This is an atomic type that is a restriction of uk.da.dext.ObjectRelationType$RelationName.
     */
    public static class RelationNameImpl extends org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx implements uk.da.dext.ObjectRelationType.RelationName
    {
        private static final long serialVersionUID = 1L;
        
        public RelationNameImpl(org.apache.xmlbeans.SchemaType sType)
        {
            super(sType, false);
        }
        
        protected RelationNameImpl(org.apache.xmlbeans.SchemaType sType, boolean b)
        {
            super(sType, b);
        }
    }
}
